The technical field of this invention is automatic monitoring systems particularly automatic security systems employing computer image processing for detecting interactions between people and cars.
As video cameras have become increasingly cheaper to produce and purchase, their functionality is beginning to evolve beyond their original intent to merely capture sequences of images. Smart video cameras of the future will be able to provide intelligent data about what objects moved and what events occurred within their field of view. The new functionality of smart cameras provides many new applications.
One increasingly valuable application for smart cameras is surveillance. Typical prior art surveillance cameras record hundreds of hours of moving images onto video tape which must be monitored by people in order to tell if something suspicious occurred. Most of the video data is useless because nothing interesting is occurring. However, with smart cameras, people can be alerted to specific events which the smart cameras detect. As smart cameras are developed, software algorithms will need to be developed to implement the smart monitoring functions.
This invention employs a video surveillance system that implements object detection and event recognition. This system implements several smart monitoring algorithms to analyze a video stream and extract intelligent data in real time. This invention describes data processing that enables the recognition of the interaction of people with cars. These new capabilities would allow smart security cameras of the future to monitor outdoor parking lots and driveways and intelligently report when suspicious events occur. For example, a smart camera could signal an alarm if a person exits a car, deposits an object near the building, re-enters the car, and drives away. Such interactions between people and cars are currently not recognized by the existing systems.
The video surveillance system operates as follows. The system forms a reference image consisting of the background of the scene viewed by the video camera. The system forms an updated reference image including any stationary cars. The system forms a foreground difference image between the current image and the updated reference image and detects any objects other than any stationary car in the scene. The updated reference image is formed by forming a background difference image between the current image and the reference image. Then the system detects objects in this difference image. Any detected object is examined to determine if it is a car object. This preferably employs an minimum size and aspect ratio test. Upon initial detection of a stationary car object, the system forms a reference car image of a portion of the current image corresponding to the position of the stationary car. The system then forms the updated reference image by substituting this reference car image for a corresponding portion of the reference image.
A number of special techniques preserve object integrity when objects overlap cars. The system tracks the position of each object through the series of video images. If an object overlaps a car for the first image when the car is stationary, then the updated reference image includes a fake background having black pixels at locations of the overlapping object. This prevents the updated reference image from erroneously including the overlapping object. If the car begins to move again, then all detected objects are checked for validity. The detected object is invalid and not tracked if more than 70% of its pixels are fake background. Car motion is detected by comparing the location of the car centroid between successive images.
Upon determining that a previously stationary car has begun motion, the system removes objects overlapping the now moving car and substitutes a reference car image for a corresponding portion of the updated reference image. This restores the reference image. The system also determines if any detected object in the current image corresponds to an object overlapping the car in a prior image. These objects are checked for validity based upon the length of their image history track. If the image history track has a length indicating a valid object, then the system back tracks this history to find a good view of the object. Such a good view is selected based upon size and stability.
All newly detected objects are checked for validity. This validity check compares the newly detected object in the foreground difference image with corresponding pixels in a car difference image. The newly detected object is invalid and not tracked if the number of matching pixels is less than half of all its pixels.
The video surveillance system notes events when objects interact with cars. An ENTER CAR event is signaled whenever an object overlaps a stationary car in one image and the corresponding object is not present in a next following image. An EXIT CAR event is signaled whenever an object overlaps a stationary car in one image and the corresponding object is not present in the immediately prior image.